x86: map frame table sparsely
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 22 Sep 2009 07:18:19 +0000 (08:18 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 22 Sep 2009 07:18:19 +0000 (08:18 +0100)
commit73f0173619a0017225fc185ed1a96a1a47a8a0c3
tree1945ed1c64da29298248b7aa3e6fcaf2a1dafa54
parentbac2000063ba239d33b631f6edda48cc6b57425b
x86: map frame table sparsely

Avoid backing frame table holes with memory, when those holes are
large enough to cover an exact multiple of large pages. This is based
on the introduction of a bit map, where each bit represents one such
range, thus allowing mfn_valid() checks to easily filter out those
MFNs that now shouldn't be used to index the frame table.

This allows for saving a couple of 2M pages even on "normal" systems.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen/arch/x86/mm.c
xen/arch/x86/setup.c
xen/arch/x86/x86_64/mm.c
xen/include/asm-x86/config.h
xen/include/asm-x86/mm.h
xen/include/asm-x86/x86_32/page.h
xen/include/asm-x86/x86_64/page.h